package com.sicheng.lc.lc笔试.美团篇;

import java.util.Scanner;

/**
 * @author zsc
 * @version 1.0
 * @date 2022/4/30 11:56
 */
@SuppressWarnings("all")
public class 仓库 {
    //时间限制： 3000MS
    //内存限制： 589824KB
    //题目描述：
    //小美的家乡遇到了特大暴雨。为此她建立了一个救援的大米仓库。
    // 有货车运来或取走大米。现在有一列车队，每个车都要运来或取走一定的大米。
    // 假设小美的仓库最开始有 M千克大米，它会在某辆车路过时打开仓库，这样这辆车以及后面的车辆都可以进入仓库运来或取走大米。
    // 如果有一辆车取不到本想取到的大米，小美会提前关闭仓库，这辆车以及后面的车辆都不再能进入仓库。
    // （即小美的仓库会对车队的一个连续子串开放，且保证仓库内的大米不为负值）
    //
    //请问小美的仓库最多有多少辆车进入。
    //
    //
    //
    //输入描述
    //对于每一组数据，包含两行数据，第一行是车队的车辆数n和小美仓库本有的大米m，
    // 第二行是车队想取走（负值）或运来（正值）的大米ai，数字间两两有空格隔开。
    //
    //1≤n≤50000， -109≤ai≤109，0≤m≤109
    //
    //输出描述
    //输出一个整数，表示最多有多少辆车进入（最长连续子串）。
    //
    //
    //样例输入
    //4 10
    //-16                     2 -6 8
    //样例输出
    //3
    //
    //提示
    //样例解释
    //
    //第一辆车路过如果开仓库，第一辆车无法取到16kg的大米，所以第二辆车路过时开，最后一辆关，共有3辆车路过。
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = sc.nextInt();
        }
        int i = 0;
        long sum = 0;
        int max = 0;
        for (int j = 0; j < n; j++) {
            sum += nums[j];
            if (sum + m < 0) {
                sum = 0;
                max = Math.max(max, j - i);
                i = j + 1;
            }
        }
        if (i < nums.length)
            max = Math.max(nums.length - i, max);
        System.out.println(max);

    }
}
